<template>
  <div id="app">
    <!-- 全局组件 -->
  </div>
</template>

<script>
export default {
  onLaunch: function() {
    console.log('App Launch')
    // 应用启动时的初始化
    this.initApp()
  },
  onShow: function() {
    console.log('App Show')
    // 应用显示时更新徽章
    this.updateTabBarBadges()
  },
  onHide: function() {
    console.log('App Hide')
  },
  methods: {
    initApp() {
      // 检查登录状态
      this.checkLogin()
      // 获取系统信息
      this.getSystemInfo()
      // 初始化TabBar徽章
      this.initTabBarBadges()
    },
    checkLogin() {
      const token = uni.getStorageSync('token')
      if (token) {
        // 验证token是否有效
        this.$store.dispatch('user/validateToken', token)
      }
    },
    getSystemInfo() {
      uni.getSystemInfo({
        success: (res) => {
          this.$store.commit('app/setSystemInfo', res)
        }
      })
    },
    
    // TabBar徽章管理
    initTabBarBadges() {
      // 初始化时清除所有徽章
      for (let i = 0; i < 4; i++) {
        uni.removeTabBarBadge({ index: i })
      }
    },
    
    updateTabBarBadges() {
      // 更新消息徽章
      const unreadCount = this.$store.getters['chat/unreadCount']
      if (unreadCount > 0) {
        uni.setTabBarBadge({
          index: 2,
          text: unreadCount > 99 ? '99+' : unreadCount.toString()
        })
      } else {
        uni.removeTabBarBadge({ index: 2 })
      }
    }
  }
}
</script>

<style lang="scss">
/* 全局样式 */
page {
  background-color: #f5f5f5;
  font-size: 28rpx;
  color: #333;
}

/* 通用类 */
.container {
  padding: 20rpx;
}

.page {
  min-height: 100vh;
  background-color: #f5f5f5;
}

/* 自定义导航栏样式 */
.custom-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background-color: #fff;
  border-bottom: 1rpx solid #eee;
}

/* 底部安全区域 */
.safe-area-bottom {
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}

/* 顶部安全区域 */
.safe-area-top {
  padding-top: constant(safe-area-inset-top);
  padding-top: env(safe-area-inset-top);
}
</style>